Stefano Stabellini [Mon, 19 Jul 2010 14:11:07 +0000 (15:11 +0100)]
Actually it's an interrupt descriptor table register :)
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Stefano Stabellini [Mon, 19 Jul 2010 11:47:53 +0000 (12:47 +0100)]
This patch introduces libxl_primary_console_exec: a new libxl function
that finds the domid and console number corresponding to the primary
console of a given vm. The domid might be different from the domid of
the VM and the console number might not be 0 when using stubdoms.
The caller (xl_cmdimpl.c in this case) has to make sure that the stubdom
is already created before calling libxl_primary_console_exec in the hvm
case. In the PV case libxl_primary_console_exec has to be called before
libxl_run_bootloader.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Stefano Stabellini [Mon, 19 Jul 2010 11:22:25 +0000 (12:22 +0100)]
execute command by execvp() so can search command in PATH.
Signed-off-by: Yu Zhiguo <yuzg@cn.fujitsu.com>
Stefano Stabellini [Mon, 19 Jul 2010 11:22:04 +0000 (12:22 +0100)]
Improve balloon support for NetBSD.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Stefano Stabellini [Mon, 19 Jul 2010 11:21:24 +0000 (12:21 +0100)]
Without this we leak an fd on each domain shutdown and eventually run
out of file descriptors meaning new the console of new domains are not
logged.
Seems to have been accidentally removed in 16638:
28921e83000b.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Stefano Stabellini [Mon, 19 Jul 2010 11:20:41 +0000 (12:20 +0100)]
Implement "xl tmem-freeable" to match "xm tmem-freeable".
Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Stefano Stabellini [Fri, 16 Jul 2010 11:10:56 +0000 (12:10 +0100)]
Before this patch only log messages with precisely priority
LOG_WARNING (or precisely LOG_DEBUG if -v) would be logged.
xenconsoled only actually logs using LOG_ERR and LOG_DEBUG so for the
most part we would have been logging absolutely nothing up until now.
Linux provides a LOG_UPTO macro but I'm not sure how portable that is
so I have opencoded the list of levels.
Do I get some sort of prize for fixing a bug introduced in 2005?
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Thu, 15 Jul 2010 17:18:16 +0000 (18:18 +0100)]
pygrub: look in every partition for something to boot
pygrub: look in every partition for something to boot, in case
the OS installer (SLES 10 sp1 in particular) forgets to mark the
boot partition as active.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Acked-by: David Markey <admin@dmarkey.com>
Ian Jackson [Thu, 15 Jul 2010 15:32:50 +0000 (16:32 +0100)]
xm: Do not check path of kernel if bootloader is specified
When create DomU, if bootloader is specified, 'kernel/ramdisk' will be
used by bootloader when boots DomU. So it is needless to check the
path is existent or not.
Signed-off-by: Yu Zhiguo <yuzg@cn.fujitsu.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Thu, 15 Jul 2010 15:30:24 +0000 (16:30 +0100)]
gdbsx: update README and remove space in q packet
Newer version of gdb, version 7*, seems to have bug where it is not
parsing thread list from gdbsx properly. Getting rid of the space in
thread list works around it. It's ok with older gdb also.
Signed-off-by: Mukesh Rathor <mukesh.rathor@oracle.com>
Ian Jackson [Wed, 14 Jul 2010 15:46:49 +0000 (16:46 +0100)]
xl: start numbering vifs from 0
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Ian Jackson [Wed, 14 Jul 2010 15:45:38 +0000 (16:45 +0100)]
libxl, xl: support running bootloader (e.g. pygrub) in domain 0
Much of the bootloader interaction (including the Solaris and NetBSD
portability bits) are translated pretty much directly from the python
in tools/python/xen/xend/XendBootloader.py
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Wed, 14 Jul 2010 15:44:18 +0000 (16:44 +0100)]
libxl: add function to attach/detach a disk to/from the local VM
Useful if you need to read a guest filesystem (e.g. pygrub).
I'm not overly thrilled with the implementation WRT tap interfaces,
particularly WRT to detach. I was unable to find a way to get at the
paramters necessary to call tap_ctl_destroy so I assumed for now it
that is OK to assume that the tap device is going to be wanted for the
actual domain at some point in the immediate future and hence there is
no pressing need to destroy it.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Wed, 14 Jul 2010 15:43:49 +0000 (16:43 +0100)]
libxl: support mapping files rather than carrying paths around
This will allow us to map and then unlink the file and therefore
delete the process on process exit or explicit unmap.
Using the mmaped versions of these files required rewriting build_pv
to use the xc_dom builder functionality directly rather than through
the xc_linux_build "compatibility layer". (The status of the
xc_linux_build interface as a compatibility layer seems a bit dubious
since all existing callers use it but if anything is going to replace
it then libxl seems like the likely candidate).
I'm not thrilled with the definition of the maps lifecycle. This could
be solved by adding a helper function to explicitly free the toplevel
structure.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Wed, 14 Jul 2010 15:40:33 +0000 (16:40 +0100)]
libxl, xl: exec xenconsole in current process, defer decision to fork to caller
Use this to run xenconsole as the foreground process and move the
connection to the console in the "create -c" case early enough to be
able to view output from the bootloader. This behaviour is consistent
with how both "xm console" and "xm create -c" operate.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Wed, 14 Jul 2010 15:40:09 +0000 (16:40 +0100)]
libxl: fix typo in comment
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Wed, 14 Jul 2010 15:39:43 +0000 (16:39 +0100)]
libxl: add libxl_strdup convenience function
Use in preference to libxl_sprintf(..., "%s", "...")
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Wed, 14 Jul 2010 15:38:47 +0000 (16:38 +0100)]
libxl: add printf attribute to libxl_xs_write and fixup resulting warnings
There is an unfortunate warning for the empty format string by default
which I workaround by adding -Wno-format-zero-length.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Wed, 14 Jul 2010 15:36:47 +0000 (16:36 +0100)]
xenconsole: do not exit if a pty device is missing
This can just mean we have raced with the bootloader exiting and if we
continue we will likely see the real domain console show up.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Wed, 14 Jul 2010 15:36:23 +0000 (16:36 +0100)]
pygrub: introduce easier to parse output format
libxl would rather like to parse the output of pygrub. Rather than
implement an SXP parser in libxl add a --output-format option to
pygrub which can select an alternative, simpler to parse,
format. Available formats are:
sxp: current SXP output format;
simple: simple key+value output with \n separating item ( for
debugging). key and value are separated by a single
space (and key therefore cannot contain a space);
simple0: as simple but with \0 as a separator;
Also add --output-directory to allow temporary files to be placed
somewhere other than /var/run/xend/boot.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Ian Jackson [Wed, 14 Jul 2010 15:32:47 +0000 (16:32 +0100)]
tools/ocaml: add the missing license file that all OCaml libs refer to
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
Ian Jackson [Wed, 14 Jul 2010 15:31:59 +0000 (16:31 +0100)]
xl: default timer_mode to 1
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Ian Jackson [Wed, 14 Jul 2010 15:30:42 +0000 (16:30 +0100)]
tools/misc/xenpm: provide core/package cstate residencies
According to Intel 64 and IA32 Architectures SDM 3B Appendix B, Intel
Nehalem/Westmere processors provide h/w MSR to report the core/package
cstate residencies.Extend sysctl_get_pmstat interface to pass the
core/package cstate residencies, and modify xenpm to output those
information.
[tools part of the patch]
Signed-off-by: Wei Gang <gang.wei@intel.com>
Ian Jackson [Tue, 13 Jul 2010 18:34:48 +0000 (19:34 +0100)]
tools/misc/xenpm: fix get-cpu-topology
fix get-cpu-topology
Signed-off-by: Wei Gang <gang.wei@intel.com>
Ian Jackson [Tue, 13 Jul 2010 18:28:13 +0000 (19:28 +0100)]
tools/ocaml: Properly adjust fields in ocaml structure to match the C layer.
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
Ian Jackson [Tue, 13 Jul 2010 18:27:50 +0000 (19:27 +0100)]
tools/ocaml: add a simple logger to the ocaml bindings
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
Ian Jackson [Tue, 13 Jul 2010 18:27:33 +0000 (19:27 +0100)]
tools/ocaml: register the ocaml exception so it can be used at the C level.
Signed-off-by: Vincent Hanquez <vincent.hanquez@eu.citrix.com>
Ian Jackson [Tue, 13 Jul 2010 18:08:48 +0000 (19:08 +0100)]
tools/debugger/gdbsx: enabled by only x86
The changeset 21752:
29e545151078 breaks ia64, since gdbsx supports
only x86.
Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
Keir Fraser [Tue, 13 Jul 2010 17:17:28 +0000 (18:17 +0100)]
x86: optimize this_cpu()
Besides the .text space savings of over 2.5k on x86-64 (1.5k for
x86-32) this removes a load (plus a lea on x86-64) from various
frequently executed code paths, and finally provides a reason (other
than legibility) to prefer this_cpu() over per_cpu() in all places
where smp_processor_id() isn't being called anyway.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Tue, 13 Jul 2010 17:13:33 +0000 (18:13 +0100)]
[IOMMU] Debug info for AMD IOMMU event log
Print out the event log entry content for debug purposes.
Additionally, when IOMMU reset event log (due to event log overflow),
we should print out the event log content for debugging.
Signed-off-by: Wei Huang <wei.huang2@amd.com>
Signed-off-by: Wei Wang <wei.wang2@amd.com>
Keir Fraser [Tue, 13 Jul 2010 17:12:15 +0000 (18:12 +0100)]
x86: Avoid assumptions about C struct layouts from asm code.
Largely this involves avoiding assumptions about 'struct cpu_info'.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Mon, 12 Jul 2010 17:39:18 +0000 (18:39 +0100)]
sysctl: Another clarification re. max_cpu_index.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Mon, 12 Jul 2010 17:33:30 +0000 (18:33 +0100)]
sysctl: Make meaning of max_cpu_index field clearer.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Mon, 12 Jul 2010 17:30:26 +0000 (18:30 +0100)]
x86, pm: provide core/package cstate residencies
According to Intel 64 and IA32 Architectures SDM 3B Appendix B, Intel
Nehalem/Westmere processors provide h/w MSR to report the core/package
cstate residencies. Extend sysctl_get_pmstat interface to pass the
core/package cstate residencies.
Signed-off-by: Wei Gang <gang.wei@intel.com>
Keir Fraser [Mon, 12 Jul 2010 09:48:34 +0000 (10:48 +0100)]
Consolidate MSI-X related definitions
Eliminate redundant ones, fix names (where so far inappropriately
referring to capability structure fields the don't really relate to),
use symbolic names instead of raw numbers, and remove an unusable one.
No functional change intended.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 12 Jul 2010 09:48:04 +0000 (10:48 +0100)]
x86 cpufreq: Fix debug=y build.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Mon, 12 Jul 2010 09:43:57 +0000 (10:43 +0100)]
x86: allow the MSI-X table to reside beyond 4G even on 32-bit systems
Underlying interfaces allow this, and unduly (and silently) truncating
addresses doesn't seem nice.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 12 Jul 2010 09:43:34 +0000 (10:43 +0100)]
x86: prevent simultaneous use of MSI and MSI-X
This matches similar checks done in Linux, since no good can come from
a domain trying to enable both MSI and MSI-X on the same device at the
same time.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 12 Jul 2010 09:43:10 +0000 (10:43 +0100)]
x86: fix a benign typo
Just to avoid confusing readers - no functional change.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Mon, 12 Jul 2010 09:41:48 +0000 (10:41 +0100)]
x86/cpufreq: pass pointers to cpu masks where possible
This includes replacing the bogus definition of cpumask_test_cpu()
(introduced by c/s 20073) with a Linux compatible one and replacing
the bad uses with cpu_isset().
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Ian Jackson [Fri, 9 Jul 2010 17:49:12 +0000 (18:49 +0100)]
Ian Jackson [Fri, 9 Jul 2010 17:46:07 +0000 (18:46 +0100)]
tools/hotplug: xencommons: xenconsoled tracing
cut and paste error lead to using the xenstored command line syntax
for xenconsoled.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Keir Fraser [Fri, 9 Jul 2010 16:16:41 +0000 (17:16 +0100)]
x86 hvm: Add a hypercall to allow HVM PV drivers to insert xentrace records
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Fri, 9 Jul 2010 16:16:03 +0000 (17:16 +0100)]
x86 hvm: Add a new HVMOP to get the current Xen system time
Xen absolute system time, so that it can use SCHEDOP_poll in a
sensible fashion. HVM PV drivers can't use the normal PV clock
because they might have TSC offsets that hey don't know about.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Fri, 9 Jul 2010 15:45:42 +0000 (16:45 +0100)]
iommu: New options iommu=dom-strict and iommu=dom0-passthrough
The former strips dom0 of its usual 1:1 mapping of all memory, and
only provides it with mappings of its own memory, like any other
domain. The latter is a new consistent name for iommu=passthrough.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 9 Jul 2010 14:39:35 +0000 (15:39 +0100)]
iommu: Remove pointless iommu=pv boot option.
Allow devices to always be passed through to PV domains, just as they
can be to HVM domains.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 9 Jul 2010 11:35:58 +0000 (12:35 +0100)]
Merge
Keir Fraser [Fri, 9 Jul 2010 11:34:40 +0000 (12:34 +0100)]
hvmloader: customize the SMBIOS strings based on xenstore keys
...written at domain creation time by xapi.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Fri, 9 Jul 2010 11:33:57 +0000 (12:33 +0100)]
hvmloader: Add a xenbus frontend so it can read values from xenstore
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Fri, 9 Jul 2010 11:28:03 +0000 (12:28 +0100)]
trace: Trace emulated RDTSC values
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Keir Fraser [Fri, 9 Jul 2010 11:27:45 +0000 (12:27 +0100)]
trace: Reinstate tracing for emulated MSR reads and writes
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Keir Fraser [Fri, 9 Jul 2010 11:25:07 +0000 (12:25 +0100)]
Eliminate unnecessary NR_CPUS-sized arrays from 't' key handler
Replace them with per-CPU data.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Fri, 9 Jul 2010 11:24:41 +0000 (12:24 +0100)]
cpufreq: eliminate unnecessary NR_CPUS-sized arrays
Replace them with per-CPU data.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Fri, 9 Jul 2010 11:24:15 +0000 (12:24 +0100)]
x86/svm: eliminate unnecessary NR_CPUS-sized arrays
Replace them with per-CPU data.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Fri, 9 Jul 2010 11:23:52 +0000 (12:23 +0100)]
x86/mce: eliminate unnecessary NR_CPUS-sized arrays
Replace them with per-CPU data.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Fri, 9 Jul 2010 11:22:52 +0000 (12:22 +0100)]
Makefile: Serialise stubdom build after tools
Currently "make stubdom" on its own fails because it depends on files
being installed by the results of "make tools". This also means that
in some circumstances a parallel "make tools stubdom" (or "make all")
can fail due to races. So make "make stubdom" depend on "make tools"
having completed first.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Fri, 9 Jul 2010 11:22:35 +0000 (12:22 +0100)]
xen: allow HVM save/restore from different cpus
The hardware CPUID-levelling features level the feature flags but
don't change the CPU family/model/stepping. Relax the HVM restore
check on family/model/stepping to printk but not veto the load, so
that VMs can be migrated between machines that have been
CPUID-levelled.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Fri, 9 Jul 2010 11:22:00 +0000 (12:22 +0100)]
xen: allow HVM save/restore from different changesets
Allow HVM save/restore from different changesets of Xen. The HVM save
records are supposed to be backwards compatible; XenServer
live-migrates between versions of Xen during upgrades.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Fri, 9 Jul 2010 11:21:31 +0000 (12:21 +0100)]
mce: Replace BUG() with a console warning in the MCE handler.
If the hardware reports corrected errors that we didn't see through
the status MSRs, complain on the console but don't BUG() the machine.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Ian Jackson [Thu, 8 Jul 2010 16:54:42 +0000 (17:54 +0100)]
tools/libxl: implement support for nomigrate option in VM profiles
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Ian Jackson [Thu, 8 Jul 2010 16:53:19 +0000 (17:53 +0100)]
tools/libxl: Read soundhw option and pass it on to qemu
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Ian Jackson [Thu, 8 Jul 2010 16:39:00 +0000 (17:39 +0100)]
tools/xentrace: increase default xentrace buffer size.
increase default xentrace buffer size to reduce the number of
lost records.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Ian Jackson [Thu, 8 Jul 2010 16:22:18 +0000 (17:22 +0100)]
tools/libxl/xl: fix for short BDF (without domain specified)
Check that BDF have been parsed correctly. Before this fix, BDF could
be parsed incorrectly if user omitted the domain.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Contributed-by: Sergey Tovpeko <tsv.devel@gmail.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Ian Jackson [Thu, 8 Jul 2010 15:50:34 +0000 (16:50 +0100)]
tools/debugger/gdbsx: build enabled by default
Submitted-by: Bruce Edge <bruce.edge@gmail.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Keir Fraser [Thu, 8 Jul 2010 08:56:10 +0000 (09:56 +0100)]
xend: Continue domain building even if memshr extensions are not
present in the hypervisor.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Thu, 8 Jul 2010 08:52:51 +0000 (09:52 +0100)]
xen: make the shadow allocation hypercalls include the p2m memory
in the total shadow allocation. This makes the effect of allocation
changes consistent regardless of p2m activity on boot.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Thu, 8 Jul 2010 08:52:34 +0000 (09:52 +0100)]
xen: use s_time_t for periodic timer deadlines.
Otherwise vcpu_periodic_timer_work() can think the next timer is in
the future (and re-issue it unchanged) while timer_softirq_action()
thinks it's in the past (and fires it immediately), leading to
livelock.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Thu, 8 Jul 2010 08:52:01 +0000 (09:52 +0100)]
rombios: use explicit SS prefix for calculated on-stack array accesses.
The bcc compiler gets constant array offsets right but does all
calculated array offsets via DS.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Thu, 8 Jul 2010 08:51:40 +0000 (09:51 +0100)]
rombios: move the stack to 0x9e000 and protect it with an e820 entry
so that we don't corrupt E820_RAM memory with stack ops in S3 wakeup.
It has to move up so the lowest contiguous RAM area is >= 512MiB.
This relies on the previous fix to let DS != SS
Signed-off-by: Paul Durrant <Paul.Durrant@citrix.com>
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Thu, 8 Jul 2010 08:46:09 +0000 (09:46 +0100)]
rombios: wait 30s after a failed boot
Prevents waiting forever for a keypress that may never come if boot is
unattended.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Thu, 8 Jul 2010 08:45:11 +0000 (09:45 +0100)]
x86/mce: use cpu_online() instead of cpu_isset(,cpu_online_map)
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Thu, 8 Jul 2010 08:44:46 +0000 (09:44 +0100)]
x86/cpufreq: check array index before use
... rather than after.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Tue, 6 Jul 2010 16:58:37 +0000 (17:58 +0100)]
Merge
Ian Jackson [Tue, 6 Jul 2010 16:38:19 +0000 (17:38 +0100)]
tools/libxl: revert
15bcf57fcf24 (disable_migrate)
That patch is entirely wrong. xc_domain_disable_migrate does not work
like that, and the config parameter is misnamed.
Ian Jackson [Tue, 6 Jul 2010 16:31:04 +0000 (17:31 +0100)]
tools/ocaml: Fix up ocaml build for timer_mode, hpet and vpt_align
c/s
da46b25cf17d broke the ocaml build. This fixes it.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Ian Jackson [Tue, 6 Jul 2010 16:22:39 +0000 (17:22 +0100)]
tools/libxl: support the "disable_migrate" domain config option
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Ian Jackson [Tue, 6 Jul 2010 15:55:49 +0000 (16:55 +0100)]
tools/libxl: allow setting of timer_mode, hpet and vpt_align parameters
Implement parsing for timer_mode, hpet and vpt_align parameters.
These are all HVM only parameters and hpet/vpt_align are boolean so
change types and place in hvm union accordingly. Also HPET is x86 only
on principle so make this compile-time conditional on arch as-is
viridian.
Signed-off-by: Gianni Tedesco <gianni.tedesco@citrix.com>
Keir Fraser [Tue, 6 Jul 2010 15:55:02 +0000 (16:55 +0100)]
x86: eliminate unused "quad_local_to_mp_bus_id"
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Tue, 6 Jul 2010 15:51:54 +0000 (16:51 +0100)]
rombios: fix implicit assumption that DS == SS
by passing boot device info by value, not by reference.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Keir Fraser [Tue, 6 Jul 2010 15:49:59 +0000 (16:49 +0100)]
rombios: pause for a keypress after a failed boot
rombios: inform the user and pause for a keypress after a failed boot
rather than powering off immediately.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Ian Jackson [Tue, 6 Jul 2010 12:10:14 +0000 (13:10 +0100)]
tools/hotplug: locking.sh script: fix lock directory remains on error bug
_release_lock should be used instead of release_lock.
sigerr is introduced so that it can be redefined by
xen-hotplug-common.sh to a version which writes error status to xenstore.
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
Ian Jackson [Tue, 6 Jul 2010 10:57:20 +0000 (11:57 +0100)]
tools/xenstore: add XS_RESTRICT operation to C xenstore client libs.
The OCaml xenstored supports the XS_RESTRICT operation, which
deprivileges a dom0 xenstore connection so it can only affect one
domain's entries. Add the relevant definitions to the C libraries
so that callers can use it.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
Ian Jackson [Tue, 6 Jul 2010 10:54:40 +0000 (11:54 +0100)]
Merge
Keir Fraser [Mon, 5 Jul 2010 07:40:26 +0000 (08:40 +0100)]
Add an exact-node request flag for mem allocations.
Signed-off-by : Dulloor <dulloor@gmail.com>
Keir Fraser [Mon, 5 Jul 2010 07:31:29 +0000 (08:31 +0100)]
x2APIC: improve enabling logic
This patch masks PIC and IOAPIC RTE's before x2APIC enabling, unmask
and restore them after x2APIC enabling. It also really enables
interrupt remapping before x2APIC enabling instead of just checking
interrupt remapping setting. This patch also handles all x2APIC
configuration including BIOS settings and command line
settings. Especially, it handles that BIOS hands over in x2APIC mode
(when there is apic id > 255). It checks if x2APIC is already enabled
by BIOS. If already enabled, it will disable interrupt remapping and
queued invalidation first, then enable them again.
Signed-off-by: Weidong Han <weidong.han@intel.com>
Keir Fraser [Mon, 5 Jul 2010 07:30:25 +0000 (08:30 +0100)]
x2APIC/VT-d: improve interrupt remapping and queued invalidation enabling and disabling
x2APIC depends on interrupt remapping, so interrupt remapping needs to
be enabled before x2APIC. Usually x2APIC is not enabled
(x2apic_enabled=0) when enable interrupt remapping, although x2APIC
will be enabled later. So it needs to pass a parameter to set
interrupt mode in intremap_enable, instead of checking
x2apic_enable. This patch adds a parameter "eim" to intremap_enable to
achieve it. Interrupt remapping and queued invalidation are already
enabled when enable x2apic, so it needn't to enable them again when
setup iommu. This patch checks if interrupt remapping and queued
invalidation are already enable or not, and won't enable them if
already enabled. It does the similar in disabling, that's to say don't
disable them if already disabled.
Signed-off-by: Weidong Han <weidong.han@intel.com>
Keir Fraser [Mon, 5 Jul 2010 07:29:10 +0000 (08:29 +0100)]
x2APIC/VT-d: allocate iommu when create a drhd
A drhd is created when parse ACPI DMAR table, but drhd->iommu is not
allocated until iommu setup. But iommu is needed by x2APIC which will
enable interrupt remapping before iommu setup. This patch allocates
iommu when create drhd. And then drhd->ecap can be removed because
it's the same as iommu->ecap.
Signed-off-by: Weidong Han <weidong.han@intel.com>
Keir Fraser [Mon, 5 Jul 2010 07:28:08 +0000 (08:28 +0100)]
VT-d: No need to emulate WBINVD when force snooping feature available
There is no cache coherency issue if VT-d engine's force snooping
feature available.
Signed-off-by: Sheng Yang <sheng@linux.intel.com>
Keir Fraser [Mon, 5 Jul 2010 07:27:26 +0000 (08:27 +0100)]
VMX: fix ept pages free up when ept superpage split fails:
1) implement ept super page split in a recursive way to
form an ept sub tree before real installation;
2) free an ept sub tree also in a recursive way.
3) change ept_next_level last input parameter from shift
bits # to next walk level;
Signed-off-by: Xin Li <xin.li@intel.com>
Keir Fraser [Mon, 5 Jul 2010 07:24:18 +0000 (08:24 +0100)]
trace: insert compiler memory barriers
This is to ensure fields shared writably with Dom0 get read only once
for any consistency checking followed by actual calculations.
I realized there was another multiple-read issue, a fix for which is
also included (which at once simplifies __insert_record()).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Fri, 2 Jul 2010 18:04:57 +0000 (19:04 +0100)]
AMD OSVW (OS Visible Workaround) for Xen
This path enables AMD OSVW (OS Visible Workaround) feature for
Xen. New AMD errata will have a OSVW id assigned in the future. OS is
supposed to check OSVW status MSR to find out whether CPU has a
specific erratum. Legacy errata are also supported in this patch:
traditional family/model/stepping approach will be used if OSVW
feature isn't applicable. This patch is adapted from Hans Rosenfeld's
patch submitted to Linux kernel.
Signed-off-by: Wei Huang <wei.huang2@amd.com>
Signed-off-by: Hans Rosenfeld <hands.rosenfeld@amd.com>
Acked-by: Jan Beulich <jbeulich@novell.com>
Keir Fraser [Fri, 2 Jul 2010 18:03:16 +0000 (19:03 +0100)]
x86: Fix (bogus) use-before-initialise compiler warning.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 2 Jul 2010 18:00:04 +0000 (19:00 +0100)]
VMX: cleanup ept_set_entry:
1) more strict input parameters checking;
2) better comments;
3) fewer variable;
4) change direct_mmio type to bool_t.
Signed-off-by: Xin Li <xin.li@intel.com>
Keir Fraser [Fri, 2 Jul 2010 17:59:36 +0000 (18:59 +0100)]
Remove stale file xen/arch/x86/hvm/vmx/vpmu.c
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Keir Fraser [Fri, 2 Jul 2010 17:58:28 +0000 (18:58 +0100)]
io: make shared ring pad field less enticing for users by adding a __ prefix
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Daniel Stodden <daniel.stodden@citrix.com>
Cc: Dongxiao Xu <dongxiao.xu@intel.com>
Keir Fraser [Fri, 2 Jul 2010 17:58:02 +0000 (18:58 +0100)]
blktap2: make protocol specific usage of shared sring explicit
I don't think protocol specific data really belongs in this header
but since it is already there and we seem to be stuck with it let's at
least make the users explicit lest people get caught out by future new
fields moving the pad field around.
This is the Xen portion of this change. The kernel portion will be
sent separately. There is no dependency between the two.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Daniel Stodden <daniel.stodden@citrix.com>
Cc: Dongxiao Xu <dongxiao.xu@intel.com>
Keir Fraser [Fri, 2 Jul 2010 17:56:34 +0000 (18:56 +0100)]
trace: fix security issues
After getting a report of 3.2.3's xenmon crashing Xen (as it turned
out this was because c/s 17000 was backported to that tree without
also applying c/s 17515), I figured that the hypervisor shouldn't rely
on any specific state of the actual trace buffer (as it is shared
writable with Dom0)
[GWD: Volatile quantifiers have been taken out and moved to another
patch]
To make clear what purpose specific variables have and/or where they
got loaded from, the patch also changes the type of some of them to be
explicitly u32/s32, and removes pointless assertions (like checking an
unsigned variable to be >= 0).
I also took the prototype adjustment of __trace_var() as an
opportunity to simplify the TRACE_xD() macros. Similar simplification
could be done on the (quite numerous) direct callers of the function.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Keir Fraser [Fri, 2 Jul 2010 17:53:37 +0000 (18:53 +0100)]
trace: adjust printk()s
They should be lower level or rate limited.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
Keir Fraser [Fri, 2 Jul 2010 17:53:10 +0000 (18:53 +0100)]
trace: improve check_tbuf_size()
It didn't consider the case of the incoming size not allowing for the
2*data_size range for t_buf->{prod,cons}
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Keir Fraser [Fri, 2 Jul 2010 17:52:45 +0000 (18:52 +0100)]
trace: Fix T_INFO_FIRST_OFFSET calculation
This wasn't defined correctly, thus allowing in the
num_online_cpus() == NR_CPUS case to pass a corrupted MFN to
Dom0.
Reported-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>